package org.eesgmbh.gimv.samples.googlechartapi.client;

import org.eesgmbh.gimv.client.widgets.Viewport;

import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiTemplate;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.user.datepicker.client.DatePicker;

/**
 * Binds widgets from an ui binder template.
 *
 * @author Christian Seewald - EES GmbH - c.seewald@ees-gmbh.de
 *
 */
public class GoogleChartApiSampleLayout {

	@UiTemplate("GoogleChartApiSampleLayout.ui.xml")
	interface MyUiBinder extends UiBinder<HTMLPanel, GoogleChartApiSampleLayout> {}
	private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);

	private Widget rootWidget;

	@UiField
	DatePicker startDatePicker;

	@UiField
	DatePicker endDatePicker;

	@UiField
	Label calendarStartDateLabel;

	@UiField
	Label calendarEndDateLabel;

	@UiField
	Image startCalendarImage;

	@UiField
	Image endCalendarImage;

	@UiField
	Viewport viewport;

	@UiField
	Image chartImage;

	@UiField
	HTML zoomBox;

	@UiField
	Anchor urlLink;

	@UiField
	Label mousePositionLabel;

	@UiField
	ListBox colorsLine1ListBox;

	@UiField
	ListBox colorsLine2ListBox;

	public GoogleChartApiSampleLayout() {
		rootWidget = uiBinder.createAndBindUi(this);
	}

	public Widget getRootWidget() {
		return this.rootWidget;
	}

	public DatePicker getStartDatePicker() {
		return this.startDatePicker;
	}

	public DatePicker getEndDatePicker() {
		return this.endDatePicker;
	}

	public Label getCalendarStartDateLabel() {
		return calendarStartDateLabel;
	}

	public Label getCalendarEndDateLabel() {
		return calendarEndDateLabel;
	}

	public Image getStartCalendarImage() {
		return startCalendarImage;
	}

	public Image getEndCalendarImage() {
		return endCalendarImage;
	}

	public Viewport getViewport() {
		return this.viewport;
	}

	public Image getChartImage() {
		return this.chartImage;
	}

	public HTML getZoomBox() {
		return this.zoomBox;
	}

	public Anchor getUrlLink() {
		return urlLink;
	}

	public ListBox getColorsLine1ListBox() {
		return colorsLine1ListBox;
	}

	public ListBox getColorsLine2ListBox() {
		return colorsLine2ListBox;
	}

	public Label getMousePositionLabel() {
		return mousePositionLabel;
	}
}
